A telecommunications network is a collection of end stations that are connected to each other through communication channels. An end station is any device capable of communicating with other end stations through the channels. Examples of end stations include telephones, fax machines, cell phones, computers, network enabled printers, and even household electronics and appliances that are capable of communicating with other devices across a network. End stations communicate with other end stations by sending data, typically in the form of a packet, to each other through the channels. In some networks, the data packets are managed in the channels to ensure proper delivery of the packets to their intended destination end stations and conserve bandwidth of the channels by reducing or eliminating unnecessary transfers to unintended end stations.
A network element placed at a point where multiple channels connect or intersect is one method of managing the data packets in the channels. After the network element receives a data packet transferred by a source end station, the network element is responsible for processing the data packet. The processing performed by the network element includes determining the intended destination of the data packet and transmitting the data packet through the proper channel toward the destination end station.
Some network elements implement a computing matrix to reduce the processing time of data packets. A computing matrix includes multiple processing elements and is capable of processing multiple data packets simultaneously, one at each processing element. To further reduce processing time, some pre-processing can be performed on each data packet before it is processed by the computing matrix. Additionally, as part of pre-processing, a major portion of the data packet is typically extracted and stored at a processing element of the computing matrix. After pre-processing is complete and the data packet is ready to be processed by the computing matrix, current techniques implement strict scheduling to determine which processing element will perform the processing. Strict scheduling means that the processing of the data packet is always assigned to the processing element where the major portion of the data packet is stored at.